home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C++ / Code Resources / Windows 95 MDEF / Sourcery / WinFun95 / Win95Look.h < prev   
Text File  |  1996-06-12  |  3KB  |  133 lines

  1. #ifndef WIN95LOOK_H_
  2. #define WIN95LOOK_H_
  3.  
  4. /*
  5.     Ack! Routines which give your Mac a distinct Windows95 look!
  6.     Blasphemy! Heretic!
  7.     
  8.     Written by Hiep Dam.
  9.     Version 1.0
  10.     From The Witches' Brew
  11.     Created: Dec 3 95
  12.     
  13.     Version history:
  14.     
  15.     6/12/96        1.01    Cleaned up interfaces.
  16.     
  17. */
  18.  
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22.  
  23. // ---------------------------------------------------------------------------
  24.  
  25. /***** Windows 95 text drawing routines *****/
  26.  
  27. /*
  28.     The text-drawing routines give the text an "embossed look". The routine
  29.     uses two colors to get an embossed look. You will want the <embossColor>
  30.     to be lighter than <textColor> for the standard embossed effect.
  31.     
  32.     These routines save whatever GrafPort variables they set, with the
  33.     exception of the penLoc.
  34.     
  35.     Before calling these routines you should first set the destination port
  36.     via SetPort(), and set the following to what you want:
  37.         - textFont
  38.         - textSize
  39.         - textFace
  40.     
  41.     The textMode for these routines is always srcOr.
  42. */
  43.  
  44.  
  45. // Draw one char
  46. void W95DrawChar(
  47.     char theChar,
  48.     const RGBColor *textColor,
  49.     const RGBColor *embossColor);
  50.  
  51. // Draw a string. Note: does not use pascal or c strings.
  52. void W95DrawText(
  53.     char *text,                        // Pointer to first char of string
  54.     unsigned short length,
  55.     const RGBColor *textColor,
  56.     const RGBColor *embossColor);
  57.  
  58. // Similar to above, put you specify an explicit drawing location.
  59. void W95DrawTextAt(
  60.     char *text,
  61.     unsigned short length,
  62.     short h,
  63.     short v,
  64.     const RGBColor *textColor,
  65.     const RGBColor *embossColor);
  66.  
  67. // ---------------------------------------------------------------------------
  68.  
  69. /*
  70.     Line and rect drawing routines. Creates a 3D effect by using the
  71.     line and hilite colors. <hiliteColor> should be lighter than
  72.     <lineColor>.
  73.     
  74.     These routines also save the GrafPort variables with the exception
  75.     of the penLoc.
  76. */
  77. void W95LineTo(
  78.     short h,
  79.     short v,
  80.     const RGBColor *lineColor,
  81.     const RGBColor *hiliteColor);
  82.  
  83. void W95DrawRect(
  84.     const Rect *frame,
  85.     const RGBColor *lineColor,
  86.     const RGBColor *hiliteColor);
  87.  
  88. // ---------------------------------------------------------------------------
  89.  
  90. /*
  91.     These routines draw a right-pointing and a downward-pointing
  92.     triangle. There are two different looks involved, depending
  93.     on whether <exactWin95Look> is true or false...
  94.         
  95.     How the parameters are used depends on <exactWin95Look>.
  96.     If true, all three RGBColors are used.
  97.     If false, only <lineColor> and <hiliteColor> are used, and
  98.     drawn in a 3D fashion. <hiliteColor> should be lighter than
  99.     <lineColor>. <fillColor> is not used.
  100.     
  101.     Confused yet?
  102. */
  103. void W95DrawTriangleRight(
  104.     const Rect *triangleBounds,
  105.     Boolean exactWin95Look,
  106.     const RGBColor *lineColor,
  107.     const RGBColor *hiliteColor,
  108.     const RGBColor *fillColor);
  109.  
  110. void W95DrawTriangleDown(
  111.     const Rect *triangleBounds,
  112.     Boolean exactWin95Look,
  113.     const RGBColor *lineColor,
  114.     const RGBColor *hiliteColor,
  115.     const RGBColor *fillColor);
  116.  
  117. // ---------------------------------------------------------------------------
  118.  
  119. void W95DrawEmbossedButton(
  120.     const Rect *btnRect,
  121.     Boolean pushedIn,
  122.     const RGBColor *baseColor,
  123.     const RGBColor *hiliteColor,
  124.     const RGBColor *shadowColor,
  125.     const RGBColor *frameColor);    // optional; if NULL, black is used.
  126.  
  127. // ---------------------------------------------------------------------------
  128.  
  129. #ifdef __cplusplus
  130. }
  131. #endif
  132.  
  133. #endif // WIN95LOOK_H_